<template>
  <h1>vue3</h1>
</template>

<script lang="ts">
/*
  vue2组件间通信：
    1. 重要的
      - props
        - 父 --> 子
      - 自定义事件
        - 子 --> 父
      - vuex
        - 兄弟、祖孙
      - 插槽
        - 通信的内容是标签数据
        - 父 <--> 子
      - v-model
        - 父 <--> 子（用于表单项组件）
      - v-bind.sync
        - 父 <--> 子（用于非表单项组件）
    2. 次要：
      - 全局事件总线
      - pubsub.js
      - $attrs/$listeners
      - $parent/$children
      - provide/inject

  vue3组件间通信
    1. 重要的
      - props
        - 父 --> 子
      - 自定义事件
        - 子 --> 父
      - v-model
        - 父 <--> 子
      - 插槽
        - 通信的内容是标签数据
        - 父 <--> 子
      - vuex / pinia
        - 兄弟、祖孙

    2. 次要：
      - $attrs(包含之前的$listeners数据)
      - $parent($children删除了，用ref取缔)
      - provide/inject

  组件间关系：
    - 父子
    - 兄弟
    - 祖孙
*/
export default {
  name: "App",
};
</script>

<style scoped></style>
